#include <iostream>
#include <string>
#include <vector>

using namespace std;

void analyzeWords(const string& input) {
    if (input.empty()) {
        cout << "Мало данных для анализа" << endl;
        return;
    }
    
    vector<string> words;
    string word;
    for (char c : input) {
        if (isspace(c)) {
            if (!word.empty()) {
                words.push_back(word);
                word.clear();
            }
        } else {
            word += c;
        }
    }
    if (!word.empty()) {
        words.push_back(word);
    }
    
    int totalWords = words.size();
    int capWords = 0;
    int latinWords = 0;
    int shortWords = 0;
    int dashWords = 0;
    string longestWord;
    int longestLength = 0;
    
    for (const string& w : words) {
        if (isupper(w[0])) {
            capWords++;
        }
        bool hasLatin = false;
        for (char c : w) {
            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
                hasLatin = true;
                break;
            }
        }
        if (hasLatin) {
            latinWords++;
        }
        if (w.length() <= 3) {
            shortWords++;
        }
        if (w.find('-') != string::npos) {
            dashWords++;
        }
        if (w.length() > longestLength) {
            longestLength = w.length();
            longestWord = w;
        }
    }
    
    cout << "Кол-во слов: " << totalWords << endl;
    cout << "Коли-тво слов с заглавной кириллической буквой: " << capWords << endl;
    cout << "Кол-во слов с латинскими символами: " << latinWords << endl;
    cout << "Кол-во слов длиной не более 3 символов: " << shortWords << endl;
    cout << "Самое длинное слово: " << longestWord << ", длина: " << longestLength << endl;
    cout << "Кол-во слов с дефисом: " << dashWords << endl;
}

int main() {
    string input;
    cout << "Введите слова, разделенные пробелом: ";
    getline(cin, input);
    analyzeWords(input);
    return 0;
}
